package com.ruoyi.system.mapper.analysis;

import com.ruoyi.system.domain.analysis.*;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;
/**
 * 用户分析Mapper
 */
public interface UserAnalysisMapper {
    
    /**
     * 获取用户分层统计
     */
    List<UserTierStats> selectUserTierDistribution();
    
    /**
     * 获取行为特征雷达数据
     */
    List<BehaviorRadarData> selectBehaviorRadarData();
    
    /**
     * 获取时间趋势数据
     */
    List<TimeTrendData> selectTimeTrendData(@Param("months") int months);
    
    /**
     * 获取观看时长分布
     */
    List<WatchDurationDist> selectWatchDurationDistribution();
    
    /**
     * 获取完播率与满意度数据
     */
    List<CompletionSatisfaction> selectCompletionSatisfactionData();
    
    /**
     * 获取收藏行为分析数据
     */
    // List<CollectionAnalysis> selectCollectionAnalysisData();


    List<Map<String, Object>> selectUserPyramidData();
    List<Map<String, Object>> selectThreeDimensionalData();        // 修正: ThreeDimensional
    List<Map<String, Object>> selectPaymentFunnelData();          // 修正: PaymentFunnel
    List<Map<String, Object>> selectWatchHeatmapData();           // 修正: WatchHeatmap
    List<Map<String, Object>> selectContentPreferenceData();
    List<Map<String, Object>> selectUserLifecycleData();          // 修正: UserLifecycle
    List<Map<String, Object>> selectRevenueContributionData();    // 修正: RevenueContribution

    List<Map<String, Object>> getActorPreferences();
    List<Map<String, Object>> getRFMAnalysis();


}